using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Entidad;
using Dao;
using System.IO;

public partial class InformeRendimientoDocente : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Usuario u = Session["login"] as Usuario;
            if (u.tipoUsuario != "Administrador")
                Response.Redirect("~/Login.aspx");
        }
    }
    protected void Page_PreRenderComplete(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            lstDocente.DataSource = AsignarDocenteAsignaturaDao.CargarDDLDocente();
            lstDocente.DataTextField = "apenom";
            lstDocente.DataValueField = "legDocente";
            lstDocente.DataBind();
            lstDocente.Items.Insert(0, "Seleccione uno");
            lstMateria.Items.Insert(0, "Seleccione una");
            btnPrint.Visible = false;
        }
    }
    protected void btnInforme_Click(object sender, EventArgs e)
    {
        DateTime? fechaDesde = null;
        DateTime? fechaHasta = null;
        int? docente = null;
        int? materia = null;

        if (txtFechaDesde.Text != string.Empty)
            fechaDesde = DateTime.Parse(txtFechaDesde.Text);
        if (txtFechaHasta.Text != string.Empty)
            fechaHasta = DateTime.Parse(txtFechaHasta.Text);
        if (lstDocente.SelectedIndex != 0)
            docente = int.Parse(lstDocente.SelectedValue);
        if (lstMateria.SelectedIndex != 0)
            materia = int.Parse(lstMateria.SelectedValue);

        try
        {
            gvInforme.DataSource = RendimientoDocenteQueryDao.Informe(fechaDesde, fechaHasta, docente, materia);
            gvInforme.DataBind();
            btnPrint.Visible = true;
        }
        catch (ApplicationException ex)
        {
            ScriptManager.RegisterStartupScript(this.Page, this.Page.GetType(), "keyhere", "alert('Eror al cargar el Informe, debido a: \n " + ex.Message + "');", true);
        }
        LimpiarControles();
        
    }
    private void LimpiarControles()
    {
        txtFechaDesde.Text = string.Empty;
        txtFechaHasta.Text = string.Empty;
        lstDocente.SelectedIndex = 0;
        lstMateria.SelectedIndex = 0;
    }
}